//package com.daocao.hua.activity;
//
//import android.annotation.TargetApi;
//import android.content.res.Resources;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.CountDownTimer;
//import android.os.Message;
//import android.support.v4.content.ContextCompat;
//import android.text.Editable;
//import android.text.Selection;
//import android.text.TextUtils;
//import android.text.TextWatcher;
//import android.view.View;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.daocao.hua.R;
//import com.daocao.hua.constant.Const;
//import com.daocao.hua.impl.BankInfoImpl;
//import com.daocao.hua.http.InfoCallBack;
//import com.daocao.hua.model.BankModel;
//import com.daocao.hua.util.ToastUtil;
//import com.daocao.hua.util.Util;
//import com.daocao.hua.view.CircularProgress;
//import com.daocao.hua.view.Dialog;
//
//import java.lang.ref.SoftReference;
//
///**
// * 银行卡编辑界面
// * Created by Master.Dong on 16/4/10.
// */
//public class BankEditActivity extends BaseActivity implements View.OnClickListener {
//
//    private static final int SEND_CODE = 0;
//    private static final int AUTH = 1;
//    private static final int TIME = 60 * 1000;  //验证码倒计时时间
//    private int[] bankImg = {R.mipmap.bank_default, R.mipmap.guangfa, R.mipmap.huaxia, R.mipmap.shanghai, R.mipmap.xingye, R.mipmap.zhaoshang, R.mipmap.gongshang, R.mipmap.nongye, R.mipmap.zhongguoyinhang, R.mipmap.zhongxin, R.mipmap.minsheng, R.mipmap.jianshe, R.mipmap.guangda, R.mipmap.pufa, R.mipmap.youzheng, R.mipmap.nongcun, R.mipmap.jiaotong};
//
//    private LinearLayout viewOne, viewTwo;
//    private ImageView icon, qOne, qTwo;
//    private TextView bankTv, name, okBtn, codeBtn, nextBtn, mTishi;
//    private EditText idcard, bankId, bankPhone, codeEt;
//    private String bank_id, token, code;
//    private long pretime = 0;
//    private boolean hasTimeDown = false;
//    private boolean isSend;
//    private boolean isReturn = false;
//    private CircularProgress loading;
//    private String realName;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setBaseContentView(R.layout.bank_edit_activity);
//        baseInitView(this, "BankEditActivity", Const.ViewType.ACTIVITY);
//        initView();
//    }
//
//    private void initView() {
//        setTitleText(getResources().getString(R.string.bank_card));
//        loading = (CircularProgress) findViewById(R.id.progressBar);
//        viewOne = (LinearLayout) findViewById(R.id.view_one);
//        viewTwo = (LinearLayout) findViewById(R.id.view_two);
//        okBtn = (TextView) findViewById(R.id.ok);
//        nextBtn = (TextView) findViewById(R.id.next);
//        icon = (ImageView) findViewById(R.id.card_icon);
//        bankTv = (TextView) findViewById(R.id.card_tv);
//        name = (TextView) findViewById(R.id.name);
//        codeBtn = (TextView) findViewById(R.id.code_tv);
//        idcard = (EditText) findViewById(R.id.idcard);
//        codeEt = (EditText) findViewById(R.id.code);
//        bankId = (EditText) findViewById(R.id.bank_id);
//        mTishi = (TextView) findViewById(R.id.textView);
//        bankPhone = (EditText) findViewById(R.id.bank_phone);
//        qOne = (ImageView) findViewById(R.id.question1);
//        qTwo = (ImageView) findViewById(R.id.question2);
//        getLeftImgBtn().setOnClickListener(this);
//        qOne.setOnClickListener(this);
//        qTwo.setOnClickListener(this);
//        okBtn.setOnClickListener(this);
//        nextBtn.setOnClickListener(this);
//        codeBtn.setOnClickListener(this);
//        bankCardNumAddSpace(bankId);
//
//
//        bankId.addTextChangedListener(new TextWatcher() {
//            @Override
//            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//
//            }
//
//            @Override
//            public void onTextChanged(CharSequence s, int start, int before, int count) {
//                pretime = System.currentTimeMillis();
//                if (!hasTimeDown) starTime();
//            }
//
//            @Override
//            public void afterTextChanged(Editable s) {
//
//            }
//        });
//
//        realName = getIntent().getStringExtra("realName");
//        name.setText(realName);
//
//
//    }
//
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.ok:
//                if (checkCode())
//                    getAuthInfo(AUTH, bankId.getText().toString().trim().replace(" ", ""), bankPhone.getText().toString().trim(), codeEt.getText().toString().trim());
//                break;
//            case R.id.next:
//                if (checkInput()) {
//                    timer.start();
//                    getAuthInfo(SEND_CODE, bankId.getText().toString().trim().replace(" ", ""), bankPhone.getText().toString().trim(), "");
//                }
//                break;
//            case R.id.code_tv:
//                if (checkInput()) {
//                    timer.start();
//                    getAuthInfo(SEND_CODE, bankId.getText().toString().trim().replace(" ", ""), bankPhone.getText().toString().trim(), "");
//                }
//                break;
//            case R.id.question1:
//                showDialog(getResources().getString(R.string.bank_dialog_title1), getResources().getString(R.string.bank_dialog_content1));
//                break;
//            case R.id.question2:
//                showDialog(getResources().getString(R.string.bank_dialog_title1), getResources().getString(R.string.bank_dialog_content2));
//                break;
//            case R.id.left_img:
//                if (isReturn) {
//                    viewOne.setVisibility(View.VISIBLE);
//                    viewTwo.setVisibility(View.GONE);
//                    codeEt.setText("");
//                    resetBtn();
//                    isReturn = false;
//                } else {
//                    BankEditActivity.this.finish();
//                    overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//                }
//                break;
//        }
//    }
//
//    private void showDialog(String title, String content) {
//        Dialog.showDefaultDialog(this, title, content, "", getResources().getString(R.string.ok), false, new Dialog.DialogDefaultClickListener() {
//            @Override
//            public void confirm() {
//
//            }
//
//            @Override
//            public void cancel() {
//
//            }
//        });
//    }
//
//    /**
//     * 是否显示加载框
//     *
//     * @param b
//     */
//    private void showLoading(boolean b) {
//        if (b) {
//            name.setEnabled(false);
//            nextBtn.setEnabled(false);
//            okBtn.setEnabled(false);
//            if (loading != null) loading.setVisibility(View.VISIBLE);
//        } else {
//            name.setEnabled(true);
//            nextBtn.setEnabled(true);
//            okBtn.setEnabled(true);
//            if (loading != null) loading.setVisibility(View.GONE);
//        }
//    }
//
//
//    /**
//     * 输入验证
//     */
//    private boolean checkInput() {
//        if (TextUtils.isEmpty(bankId.getText().toString().trim())) {
//            ToastUtil.makeText(getApplicationContext(), getResources().getString(R.string.bank_id_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (TextUtils.isEmpty(bankPhone.getText().toString().trim())) {
//            ToastUtil.makeText(getApplicationContext(), getResources().getString(R.string.phone_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//
//        return true;
//    }
//
//    private boolean checkCode() {
//        if (TextUtils.isEmpty(codeEt.getText().toString().trim())) {
//            ToastUtil.makeText(getApplicationContext(), getResources().getString(R.string.code_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        return true;
//    }
//
//
//    /**
//     * 根据卡号获取信息
//     */
//    private void getBankCardNo() {
//        new BankInfoImpl().getBankCardno(getApplicationContext(), bankId.getText().toString().trim().replace(" ", ""), new InfoCallBack() {
//            @Override
//            public void onSuccess(Object o) {
//                BankModel model = (BankModel) o;
//                bankTv.setText(model.getName());
//                bank_id = model.getId();
//                getBankImg(model.getName());
//
//            }
//
//            @Override
//            public void onFailure(String cause) {
//                ToastUtil.makeText(getApplicationContext(), cause, Toast.LENGTH_SHORT).show();
//            }
//        });
//    }
//
//
//    private TimeHandler mHandler = new TimeHandler();
//
//    private final class TimeHandler extends android.os.Handler {
//        private final SoftReference<BankEditActivity> softBitmap;
//        private BankEditActivity activity;
//
//
//        public TimeHandler() {
//            softBitmap = new SoftReference<BankEditActivity>(BankEditActivity.this);
//            activity = softBitmap.get();
//        }
//
//        @Override
//        public void handleMessage(Message msg) {
//            super.handleMessage(msg);
//            if (activity == null) {
//                activity = softBitmap.get();
//            }
//            activity.starTime();
//        }
//    }
//
//    /**
//     * 检测银行卡
//     */
//    private void starTime() {
//        hasTimeDown = true;
//        if (System.currentTimeMillis() - pretime > 1000) {
//            hasTimeDown = false;
//            getBankCardNo();
//        } else {
//            mHandler.sendEmptyMessageDelayed(1, 200);
//        }
//    }
//
//    /**
//     * 验证码计时器
//     */
//    private CountDownTimer timer = new CountDownTimer(TIME, 1000) {
//
//        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
//        @Override
//        public void onTick(long millisUntilFinished) {
//            try {
//                codeBtn.setEnabled(false);
//                codeBtn.setText((millisUntilFinished / 1000) + getResources().getString(R.string.resend));
//                codeBtn.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.gray));
//            } catch (Resources.NotFoundException e) {
//                e.printStackTrace();
//            }
//        }
//
//        @Override
//        public void onFinish() {
//            resetBtn();
//        }
//    };
//
//    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
//    private void resetBtn() {
//        if (timer != null) timer.cancel();
//        codeBtn.setEnabled(true);
//        if (isSend)
//            codeBtn.setText(getResources().getString(R.string.send_code_again));
//        else
//            codeBtn.setText(getResources().getString(R.string.get_code));
//        codeBtn.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.blue));
//    }
//
//
//    @Override
//    public void onDestroy() {
//        super.onDestroy();
//        if (mHandler != null) mHandler.removeCallbacks(null);
//        if (timer != null) timer.cancel();
//    }
//
//    /**
//     * 获取银行图标
//     *
//     * @param bankName
//     */
//    private void getBankImg(String bankName) {
//        try {
//            icon.setImageDrawable(ContextCompat.getDrawable(getApplicationContext().getApplicationContext(), bankImg[0]));
//            if (TextUtils.isEmpty(bankName)) return;
//            int id = 0;
//            if (bankName.contains(getApplicationContext().getString(R.string.guangfa))) id = 1;
//            if (bankName.contains(getApplicationContext().getString(R.string.huaxia))) id = 2;
//            if (bankName.contains(getApplicationContext().getString(R.string.shanghai))) id = 3;
//            if (bankName.contains(getApplicationContext().getString(R.string.xingye))) id = 4;
//            if (bankName.contains(getApplicationContext().getString(R.string.zhaoshang))) id = 5;
//            if (bankName.contains(getApplicationContext().getString(R.string.gongshang))) id = 6;
//            if (bankName.contains(getApplicationContext().getString(R.string.nongye))) id = 7;
//            if (bankName.contains(getApplicationContext().getString(R.string.zhongguoyinhang)))
//                id = 8;
//            if (bankName.contains(getApplicationContext().getString(R.string.zhongxin))) id = 9;
//            if (bankName.contains(getApplicationContext().getString(R.string.minsheng))) id = 10;
//            if (bankName.contains(getApplicationContext().getString(R.string.jianshe))) id = 11;
//            if (bankName.contains(getApplicationContext().getString(R.string.guangda))) id = 12;
//            if (bankName.contains(getApplicationContext().getString(R.string.pufa))) id = 13;
//            if (bankName.contains(getApplicationContext().getString(R.string.youzheng))) id = 14;
//            if (bankName.contains(getApplicationContext().getString(R.string.nongcun))) id = 15;
//            if (bankName.contains(getApplicationContext().getString(R.string.jiaotong))) id = 16;
//
//            icon.setImageDrawable(ContextCompat.getDrawable(getApplicationContext().getApplicationContext(), bankImg[id]));
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//
//    /**
//     * 银行卡四位加空格
//     *
//     * @param mEditText
//     */
//    protected void bankCardNumAddSpace(final EditText mEditText) {
//        mEditText.addTextChangedListener(new TextWatcher() {
//            int beforeTextLength = 0;
//            int onTextLength = 0;
//            boolean isChanged = false;
//
//            int location = 0;// 记录光标的位置
//            private char[] tempChar;
//            private StringBuffer buffer = new StringBuffer();
//            int konggeNumberB = 0;
//
//            @Override
//            public void beforeTextChanged(CharSequence s, int start, int count,
//                                          int after) {
//                beforeTextLength = s.length();
//                if (buffer.length() > 0) {
//                    buffer.delete(0, buffer.length());
//                }
//                konggeNumberB = 0;
//                for (int i = 0; i < s.length(); i++) {
//                    if (s.charAt(i) == ' ') {
//                        konggeNumberB++;
//                    }
//                }
//            }
//
//            @Override
//            public void onTextChanged(CharSequence s, int start, int before,
//                                      int count) {
//                onTextLength = s.length();
//                buffer.append(s.toString());
//                if (onTextLength == beforeTextLength || onTextLength <= 3
//                        || isChanged) {
//                    isChanged = false;
//                    return;
//                }
//                isChanged = true;
//            }
//
//            @Override
//            public void afterTextChanged(Editable s) {
//                if (isChanged) {
//                    location = mEditText.getSelectionEnd();
//                    int index = 0;
//                    while (index < buffer.length()) {
//                        if (buffer.charAt(index) == ' ') {
//                            buffer.deleteCharAt(index);
//                        } else {
//                            index++;
//                        }
//                    }
//
//                    index = 0;
//                    int konggeNumberC = 0;
//                    while (index < buffer.length()) {
//                        if ((index == 4 || index == 9 || index == 14 || index == 19)) {
//                            buffer.insert(index, ' ');
//                            konggeNumberC++;
//                        }
//                        index++;
//                    }
//
//                    if (konggeNumberC > konggeNumberB) {
//                        location += (konggeNumberC - konggeNumberB);
//                    }
//
//                    tempChar = new char[buffer.length()];
//                    buffer.getChars(0, buffer.length(), tempChar, 0);
//                    String str = buffer.toString();
//                    if (location > str.length()) {
//                        location = str.length();
//                    } else if (location < 0) {
//                        location = 0;
//                    }
//
//                    mEditText.setText(str);
//                    Editable etable = mEditText.getText();
//                    Selection.setSelection(etable, location);
//                    isChanged = false;
//                }
//            }
//        });
//    }
//
//    /**
//     * 获取银行卡鉴权信息
//     */
//    private void getAuthInfo(final int type, String bankcard, String mobile, String code) {
//        showLoading(true);
//        new BankInfoImpl().getAuthInfo(getApplicationContext(), bankcard, mobile, code, new InfoCallBack() {
//            @Override
//            public void onSuccess(Object o) {
//                try {
//                    showLoading(false);
//                    isSend = true;
//                    if (type > 0) {
//                        BankEditActivity.this.finish();
//                        ToastUtil.makeText(getApplicationContext(), "绑定银行卡成功", Toast.LENGTH_SHORT).show();
//                    } else {
////                        if (o.toString().contains("666666")) {
////                            ToastUtil.makeText(getApplicationContext(), getResources().getString(R.string.card_already_bang), Toast.LENGTH_SHORT).show();
////                        } else {
//                        ToastUtil.makeText(getApplicationContext(), "验证码已发送", Toast.LENGTH_SHORT).show();
//                        viewOne.setVisibility(View.GONE);
//                        viewTwo.setVisibility(View.VISIBLE);
//                        codeEt.setText("");
//                        mTishi.setText(getResources().getString(R.string.bank_tishi1) + Util.replaceString(bankPhone.getText().toString().trim(), 5, 4, '*') + getResources().getString(R.string.bank_tishi2));
//                        isReturn = true;
////                        }
//                    }
//
//                } catch (Resources.NotFoundException e) {
//                    e.printStackTrace();
//                }
//            }
//
//            @Override
//            public void onFailure(String cause) {
//                ToastUtil.makeText(getApplicationContext(), cause, Toast.LENGTH_SHORT).show();
//                showLoading(false);
//                resetBtn();
//            }
//        });
//    }
//
//}
